package lkx.demo.test3;

/**
 * 2. 数组元素的查找
 * 顺序查找：
 *     > 优点：算法简单；
 *     > 缺点：执行效率低。执行的时间复杂度O(N)
 *
 * 二分法查找：
 *     > 优点：执行效率高。执行的时间复杂度O(logN)
 *     > 缺点：算法相较于顺序查找难一点；前提：数组必须有序
 *
 * @author kunxianli
 * @date 2024/01/31 17:54
 **/
public class TestArraySearch1 {

    public static void main(String[] args) {
        int[] arr1 = new int[]{34,54,3,2,65,7,34,5,76,34,67};

        int target = 5;
//        target = 15;

        //==================查找方式：线性查找===================================================
        //方式1：
//        boolean isFlag = true;
//        for(int i = 0;i < arr1.length;i++){
//            if(target == arr1[i]){
//                System.out.println("找到了" + target + ",对应的位置为：" + i);
//                isFlag = false;
//                break;
//            }
//        }
//
//        if(isFlag){
//            System.out.println("不好意思，没有找到此元素");
//        }

        //方式2：
        int i = 0;
        for(;i < arr1.length;i++){
            if(target == arr1[i]){
                System.out.println("找到了" + target + ",对应的位置为：" + i);
                break;
            }

        }

        if(i == arr1.length){
            System.out.println("不好意思，没有找到此元素");
        }
    }

}
